/*
 * Copyright (c) GoKeep by gokeep.org. 2022-2023. All rights reserved
 */
package org.gokeep.common.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 系统配置属性
 */
@Data
@Component
@ConfigurationProperties(prefix = "system")
public class SystemConfigProperties {

    /**
     * 是否自由模式
     * 如果是自由模式，说明在公网运行
     * 如果不是自由模式（企业模式）说明在内网运行
     */
    private boolean freedomMode;
    /**
     * 通信配置
     */
    private CommunicationProperties communication;

    /**
     * 缓存配置
     */
    private CacheProperties cache;

    /**
     * 公私钥配置
     */
    private KeyProperties key;

    /**
     * 集群配置
     */
    private ClusterProperties cluster;

    /**
     * 权限配置
     */
    private AuthProperties auth;


    /**
     * Mongodb配置
     */
    private MongodbProperties mongodb;

    /**
     * 存储配置
     */
    private StrongProperties strong;
}
